package com.colorlight.cloud.gateway.api.message.constraint.basics.ienum;

import com.colorlight.cloud.gateway.api.message.constraint.basics.BasicsInterface;

/**
 * 枚举类型转化
 *
 * @author Demon
 * @date 20/12/2023  下午4:18
 */
public interface EnumTrans<P, E extends Enum<E>> extends BasicsInterface<P, E> {
	/**
	 * 枚举转为需要的对象
	 *
	 * @return 目标对象
	 * @author Demon
	 */
	@Override
	P toProto();
	
	/**
	 * proto对象 转为枚举
	 *
	 * @param p proto对象
	 * @return 返回枚举
	 * @author Demon
	 * @date 20/12/2023/下午4:27
	 */
	@Override
	E formProto(P p);
}
